Building control systems (which may also be referred to herein as “building automation systems”) are widely used in modern commercial, industrial, and residential building facilities. These building control systems include, for example, fire safety systems and heating/ventilation/air conditioning (HVAC) systems. Because of the unique nature of larger buildings, the building control systems used therein can vary substantially from building to building. As a consequence, there is typically not a set price for a building automation system. It is therefore common practice for building developers to obtain a specific cost estimate that is custom-generated for a new proposed building automation system.
In general, building automation systems can involve large numbers of subsystems distributed throughout a building. Although a building automation system can include several different subsystems, many subsystems can be similar. For example, a space cooling subsystem can involve a controller, one or more temperature sensors, cabling, and the like. A large building may include many of such space cooling subsystems.
Currently, methods used for cost estimation in building automation system involve generating a database that includes all of the cost-elements (e.g. products or systems) required in constructing the system. The estimate generator also stores or accesses a cost value for each of the cost-elements. An estimate can be generated by applying the per-item costs to the cost-elements stored in the data base.
When estimating cost for a large project such as a building automation system, it is often desirable to obtain estimates for alternative solutions. In the past, the generation of alternative estimates could be cumbersome. In particular, when a user desired to obtain an alternative estimate, multiple project files might be created with each project file including a different estimate. For example, in order to produce two estimates that were substantially the same but included different components in one area, the two distinct estimate files would be created. The first file would include a first set of components in the one area, and the second file would include a second set of components in that area. Estimates could then be run based on these two distinct files.
This process of creating separate files for alternative estimates was not only cumbersome, but also required the use of a large amount of space in a database, since a new file would be created in the database for each estimate. In the event a large number of alternative estimates were requested by the user, the amount of space consumed in the database could be excessive.
In view of the foregoing, it would be advantageous to provide an estimate generator for a building control system that allows a user to easily create alternate estimates for the system. It would also be advantageous for the cost estimator to be easily implemented and consume relatively little space in a database.